package field

type (
	IMSI    IMEI
	IMSIRaw IMEIRaw
)

func (imsi IMSI) Raw() (out IMSIRaw, err error) {
	v, err := IMEI(imsi).Raw()
	if err != nil {
		return IMSIRaw{}, err
	}

	return IMSIRaw(v), nil
}

func (imsi IMSIRaw) Type() (IMSI, error) {
	t, err := IMEIRaw(imsi).Type()
	if err != nil {
		return "", err
	}

	return IMSI(t), nil
}

func (imsi IMSIRaw) Slice() []byte {
	return imsi[:]
}
